package com.biblioteca.controlador;

import com.biblioteca.persistencia.*;
import com.biblioteca.servicio.*;
import com.biblioteca.view.utils.MessageProvider;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import javax.annotation.PostConstruct;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.webflow.execution.RequestContext;


import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

@Controller("noticiaControlador")
@Scope("request")
public class noticiaControlador implements Serializable{

    private NoticiaServicio noticiaServicio;
    private Noticia noticia;
    private List<Noticia> noticias;

    @PostConstruct
    public void iniciar(){
        noticia=new Noticia();
    }

    public List<Noticia> getNoticias() {
        return (List<Noticia>) noticiaServicio.getAllNoticias();
    }

    public void setNoticias(List<Noticia> noticias) {
        this.noticias = noticias;
    }

    public Noticia getNoticia() {
        return noticia;
    }

    public void setNoticia(Noticia noticia) {
        this.noticia = noticia;
    }

    @Autowired
    @Required
    public void setNoticiaServicio(NoticiaServicio noticiaServicio) {
        this.noticiaServicio = noticiaServicio;
    }


    public void crearNoticia(){
        noticiaServicio.crearNoticia(noticia);

        FacesContext ctx = FacesContext.getCurrentInstance();
        ctx.addMessage(null, new FacesMessage("Correcto", "Noticia creada correctamente"));

    }

    public void borrarNoticia(RequestContext context) {
        noticiaServicio.borrar(noticia);
        //context.getMessageContext().addMessage(new MessageBuilder().info().defaultText(MessageProvider.getValue("Noticia borrada correctamente")).build());
        
        FacesContext ctx = FacesContext.getCurrentInstance();
        ctx.addMessage(null, new FacesMessage("Correcto", "Noticia borrada Correctamente"));
    }






}
